package com.agent.config;

import dev.langchain4j.web.search.WebSearchTool;
import dev.langchain4j.web.search.searchapi.SearchApiWebSearchEngine;
import lombok.RequiredArgsConstructor;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

/*
    重写 SearchApiWebSearchEngine 的实例对象，传入搜索引擎和 API 密钥，调用 API 进行联网搜索
    作用：通过联网搜索，获取当前天气、日期、农历等需要联网查询的信息

    此处使用的是谷歌提供的搜索API
 */

@Configuration
@RequiredArgsConstructor
public class WebSearchConfig {

    // 导入配置文件中的参数
    private final SearchConfig searchConfig;

    // 重写SearchApiWebSearchEngine的实例，并传入API密钥和搜索引擎
    @Bean
    public WebSearchTool webSearchTool() {
        return new WebSearchTool(SearchApiWebSearchEngine.builder()
                .engine(searchConfig.getEngine())
                .apiKey(searchConfig.getApiKey())
                .build());
    }

}